package com.cqie.mapper.medical;

import com.cqie.dto.entrepot.EntrepotDrugInfoListDto;
import com.cqie.dto.medical.AddMedicalDrugInfoDto;
import com.cqie.dto.medical.UpdateMedicalDrugInfoDto;
import com.cqie.entity.MedicalDrugInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;


import java.nio.file.Path;
import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author 不吃海鲜
 * @since 2024-12-04
 */
public interface MedicalDrugInfoMapper extends BaseMapper<MedicalDrugInfo> {

    /**
     * 根据 药品名称和厂家查询药品信息 查询
     * @param addMedicalDrugInfoDto
     * @return
     */
    MedicalDrugInfo getDrugInfoByDrugAndBrand(AddMedicalDrugInfoDto addMedicalDrugInfoDto);


    /**
     * 删除药品信息
     * @param drugId
     * @return
     */
    Boolean deleteMedicalDrugInfo(Integer drugId);

    /**
     * 根据药品编号模糊查询
     * @param drugCode 药品编号
     * @return
     */
    List<AddMedicalDrugInfoDto> getMedicalDrugInfoByDrugCode(String drugCode);

    /**
     * 根据药品ID集合查询药品信息
     * @param drugIdList
     * @return
     */
    List<EntrepotDrugInfoListDto> getMedicalDrugInfoByDrugIdList(@Param("drugIdList")List<Integer> drugIdList ,
                                                                 @Param("pageSize")Integer pageSize,
                                                                 @Param("pageIndex")Integer pageIndex);

    /**
     * 根据药品名称查询药品信息
     * @param drugId
     * @return
     */
    AddMedicalDrugInfoDto getMedicalDrugInfoByDrugId(Integer drugId);


    /**
     * 新增药品
     * @param addMedicalDrugInfoDto
     * @return
     */
    Boolean saveMedicalDrugInfo(AddMedicalDrugInfoDto addMedicalDrugInfoDto);

    /**
     * 上传药品图片
     * @param drugInfo
     * @return
     */
    Boolean updateDrugPhoto(MedicalDrugInfo drugInfo);

    /**
     * 更新药品
     * @param updateMedicalDrugInfoDto
     * @return
     */
    Boolean updateMedicalDrugInfo(UpdateMedicalDrugInfoDto updateMedicalDrugInfoDto);

}
